package cn.zyq.ykb.beans.task;

import cn.zyq.ykb.beans.config.ConfigTaskType;
import cn.zyq.ykb.beans.user.User;
import cn.zyq.ykb.system.annotation.Excel;
import cn.zyq.ykb.system.common.BaseAuditBean;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 任务-审核对象 taskAudit
 *
 * @author SystemAuth
 * @date 2023-05-22
 */
@Data
@Entity
@Table(name = "`myTaskAudit`")
@JsonInclude(value = JsonInclude.Include.NON_NULL)
public class MyTaskAudit extends BaseAuditBean implements Serializable {
    /**
     * 主键id，用于关联
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY, generator = "JDBC")
    @Column(name = "`myTaskAuditID`")
    @ApiModelProperty("主键id，用于关联")
    @Excel(name = "订单ID",sort = 7)
    private Integer myTaskAuditID;
    /**
     * 任务ID
     */
    @Column(name = "`taskID`")
    @ApiModelProperty("任务ID")
    private Integer taskID;
    /**
     * 任务ID
     */
    @Transient
    @ApiModelProperty("任务名称")
    @Excel(name = "任务名称",sort = 2)
    private String taskName;
    /**
     * 审核信息
     */
    @Column(name = "`information`")
    @ApiModelProperty("审核信息")
    private String information;
    /**
     * 审核图片
     */
    @Column(name = "`auditPicture`")
    @ApiModelProperty("审核图片")
    private String auditPicture;
    /**
     * 领取人ID
     */
    @Column(name = "`userID`")
    @ApiModelProperty("领取人ID")
    private Integer userID;
    /**
     * 领取人ID
     */
    @Transient
    @ApiModelProperty("做单人员")
    @Excel(name = "做单人员" ,sort =3)
    private String nickName;

    @Transient
    @ApiModelProperty("做单人员手机号")
    @Excel(name = "做单人员手机号" ,sort =4)
    private String phone;

    @Transient
    @ApiModelProperty("资金账户")
    @Excel(name = "资金账户",sort = 5)
    private String aliAccount;



    @Transient
    @ApiModelProperty("价格")
    @Excel(name = "价格",sort = 6)
    private BigDecimal price;

    @Transient
    @ApiModelProperty("渠道")
    @Excel(name = "渠道",sort = 9)
    private String channel;

    /**
     * 领取人ID
     */
    @Column(name = "`myTaskID`")
    @ApiModelProperty("领取表ID")
    private Integer myTaskID;
    /**
     * 领取类型（1正常，2项目外放）
     */
    @Column(name = "`status`")
    @ApiModelProperty("领取类型（1正常，2项目外放）")
    private Integer status;


    @Transient
    private Task task;
    @Transient
    private User user;
    @Transient
    private MyTask myTask;
    @Transient
    private List<TaskStep> taskStep;
    @Transient
    private List<TaskPrompt> taskPrompts;
    @Transient
    private List<MyTaskAuditLog> myTaskAuditLogs;
    @Transient
    private ConfigTaskType configTaskType;
}
